package com.platform.dao.mybatis.impl;

import com.platform.dao.UserDao;
import com.platform.dao.mybatis.mapper.UserMapper;
import com.platform.domain.model.User;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;


/**
* User
*
* User: wangyang
* DateTime: 2012-10-08 16:11:49
*
*/
@Service("userDao")
public class UserDaoImpl implements UserDao {

    @Resource
    private UserMapper userMapper;

    /**
     * 根据登录名查询用户
     *
     * @param loginId 登录ID
     * @return 用户对象
     * @throws Exception
     */
    @Override
    public User selectByLoginId(String loginId) throws Exception {
        User user = new User();
        user.setLoginId(loginId);
        List<User> list =userMapper.selectList(user);
        return list != null && list.size() == 1 ? list.get(0) : null;
    }

    /**
     * 根据用户对象条件查询符合条件的用户对象集合
     *
     * @param user 用户对象
     * @return 用户对象集合
     * @throws Exception
     */
    @Override
    public List<User> selectList(User user) throws Exception {
        return userMapper.selectList(user);
    }

    /**
     * 根据用户对象条件查询符合条件的用户记录总条数
     *
     * @param user 用户对象
     * @return 记录总条数
     * @throws Exception
     */
    @Override
    public int selectListCount(User user) throws Exception {
        return userMapper.selectListCount(user);
    }

    /**
    *
    * 根据主键查询User对象
    *
    * @param userId
    * @return User对象
    */
    @Override
    public User selectByPrimaryKey(String userId) throws Exception {
        return userMapper.selectByPrimaryKey(userId);
    }

    /**
    *
    * 根据查询条件查询符合条件的User对象
    *
    * @param user
    * @return 符合条件的User对象List
    */
    @Override
    public List<User> select(User user) throws Exception {
        return userMapper.select(user);
    }

    /**
    *
    * 根据主键删除User对象
    *
    * @param userId
    * @return 影响条件数
    */
    @Override
    public int deleteByPrimaryKey(String userId) throws Exception {
        return userMapper.deleteByPrimaryKey(userId);
    }

    /**
    *
    * 根据条件删除符合条件的User对象
    *
    * @param user
    * @return 影响条件数
    */
    @Override
    public int delete(User user) throws Exception {
        return userMapper.delete(user);
    }

    /**
    *
    * 插入User对象
    *
    * @param user
    * @return 影响条件数
    */
    @Override
    public int insert(User user) throws Exception {
        return userMapper.insert(user);
    }

    /**
    *
    * 更新User对象
    *
    * @param user
    * @return 影响条件数
    */
    @Override
    public int update(User user) throws Exception {
        return userMapper.update(user);
    }
}
